home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 21 / Cream of the Crop 21 (Terry Blount) (October 1996).iso / editor / auror300.zip / KEYCODES.AML < prev    next >
Text File  |  1996-07-17  |  2KB  |  83 lines

  1. //--------------------------------------------------------------------
  2. // KEYCODES.AML
  3. // Display Keycodes, (C) 1993-1996 by nuText Systems
  4. //
  5. // (see Keycodes.dox for user help)
  6. //
  7. // This macro displays various keycodes for each key pressed.
  8. //
  9. // Usage:
  10. //
  11. // Select this macro from the Macro List (on the Macro menu), or run it
  12. // from the macro picklist <shift f12>.
  13. //--------------------------------------------------------------------
  14.  
  15. include bootpath "define.aml"
  16.  
  17. // keep this object resident
  18. resident ON
  19. settype "win"
  20.  
  21. // create main window with titles
  22. createwindow
  23. setframe ">b"
  24. setcolor  border_color         color white on gray
  25. setcolor  border_flash_color   color brightgreen on gray
  26. setcolor  text_color           color brightgreen on gray
  27. settitle "Display Keycodes - press <esc> twice to exit"
  28. setwinctrl '≡'
  29. sizewindow 6 5 72 20 "ad"
  30. setborder "1i"
  31. setshadow 2 1
  32. writeline " Keycode  Hexcode  Scancode  Ascii  Hex  Char  Keyname"
  33.  
  34. // create scrollable subwindow
  35. createwindow
  36. sizewindow 0 1 0 0 "rw1" '' (getprevwin)
  37. setparent (getprevwin)
  38. setcolor  text_color     color black on gray
  39. showcursor 80 90
  40.  
  41. inheritkeys OFF
  42.  
  43. lastcode = 0
  44.  
  45. event <destroy>
  46.   // call 'close' in object 'win'
  47.   close
  48. end
  49.  
  50. function "≡"
  51.   destroyobject
  52. end
  53.  
  54. // don't process shift keys
  55. key <shiftkey>
  56.  
  57. key <otherkey> (keycode)
  58.   asciicode = keycode & 0ffh        // get ascii code from keycode
  59.   keyname = geteventname keycode    // get keyname from keycode
  60.   if lastcode then
  61.     writeline
  62.   end
  63.  
  64.   writestr
  65.     keycode:8             +           // display keycode
  66.     (base keycode 16):9   +           // display hexcode
  67.     (keycode shr 8):10    +           // display scancode
  68.     asciicode:7           +           // display asciicode (if any)
  69.     (base asciicode 16):5 +           // display asciicode (if any)
  70.     (char asciicode):6    +           // display key char (if any)
  71.     "  " + keyname                    // display keyname
  72.  
  73.   lastcode = keycode                // save last keycode
  74. end
  75.  
  76. key <esc> (keycode)
  77.   if lastcode == keycode then
  78.     destroyobject
  79.   else
  80.     call <otherkey> (keycode)
  81.   end
  82. end
  83.